// pages/video/video.js
import requst from '../../utils/request'
Page({

    /**
     * 页面的初始数据
     */
    data: {
        videoGroupList: [],
        navId: '',
        videoList: [],
        videoId: '', //视频id标识
        videUpdateTime: [], //记录vide播放的时长
        isTriggered: false,
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        this.getVidelGroupListData();
    },

    //获取导航数据
    async getVidelGroupListData() {
        let result = await requst("/video/group/list");
        this.setData({
            videoGroupList: result.data.slice(0, 14),
            navId: result.data[0].id //默认选中第一个
        });
        this.getVideoList(this.data.navId);
    },

    //获取视频列表数据
    async getVideoList(navId) {
        let result = await requst("/video/group", {
            id: navId
        });
        wx.hideLoading();

        let index = 0;
        let videoList = result.datas.map(item => {
            item.id = index++;
            return item;
        })
        this.setData({
            videoList,
            isTriggered: false
        });
    },

    changeNav(event) {
        let navId = event.currentTarget.id;
        this.setData({
            navId,
            videoList: []
        });
        wx.showLoading({
            title: '拼命加载中...',
        })
        //动态获取当前导航对应的视频数据
        this.getVideoList(navId);
    },

    //当开始，继续播放的时候触发该事件
    handlerPlay(event) {
        let vid = event.currentTarget.id;
        // 关闭上一个播放的视频,第一次进来没有值，第二次进来this.videoContext就表示上一个视频
        // if (this.vid !== vid && this.videoContext) {
        //     this.videoContext.stop();
        // }
        // this.vid = vid;
        this.setData({
            videoId: vid
        });
        this.videoContext = wx.createVideoContext(vid);
        //判断继续播放
        let {
            videUpdateTime
        } = this.data;
        let videoItem = videUpdateTime.find(item => item.vid === vid);
        if (videoItem) {
            this.videoContext.seek(videoItem.currentTime);
        }
        this.videoContext.play(); //模拟器有bug  切换第二次就错乱  真机没问题
    },

    //处理播放时长  继续播放
    hanlderTimeUpdate(event) {
        let videTimeObj = {
            vid: event.currentTarget.id,
            currentTime: event.detail.currentTime
        };
        let {
            videUpdateTime
        } = this.data;

        let videoItem = videUpdateTime.find(item => item.vid === videTimeObj.vid);
        if (videoItem) {
            videoItem.currentTime = event.detail.currentTime;
        } else {
            videUpdateTime.push(videTimeObj);
        }
        this.setData({
            videUpdateTime
        });
    },

    //视频播放结束
    handlerEnd(event) {
        let {
            videUpdateTime
        } = this.data;

        let index = videUpdateTime.findIndex(item => item.vid === event.currentTarget.id);

        videUpdateTime.splice(index, 1);

        this.setData({
            videUpdateTime
        });
    },

    //下拉刷新
    handlerRefresh() {
        this.getVideoList(this.data.navId);
    },

    handlerToLower() {

    },

    toSearch() {
        wx.navigateTo({
            url: '/pages/search/search',
        });
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function ({
        from
    }) {
        console.log(from);
        if (from === 'button') {
            return {
                title: '来自button的转发',
                page: '/pages/index/index',
                imageUrl: '/static/images/nvsheng.jpg'
            }
        } else {
            return {
                title: '来自menu的转发',
                page: '/pages/index/index',
                imageUrl: '/static/images/nvsheng.jpg'
            }
        }

    }
})